package com.itguigu.pojo;

/**
 * 静态工厂方法：
 * 是类的public static方法，用于创建并返回该类的实例。
 * 具备命名灵活性，方法名可清晰反映创建目的或对象特性。
 * 可隐藏实现细节，返回子类或代理对象，支持多态返回和设计模式。
 * 能控制实例数量（如单例、享元模式）或根据参数动态决定返回对象类型。
 */
public class Dog {
    private static Dog dog = new Dog();

    private Dog() {
        System.out.println("Dog createDog");
    }

    public static Dog createDog() {

        return dog;
    }
}